﻿using System;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
using ET;
using BLL;

namespace ERP.PageUC
{
    public partial class ExportUC : UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindGridDrop();
            }
        }

        protected void btnSavePopup_Click(object sender, EventArgs e)
        {
            if (lbID.Value == "")
            {
                InsertExport();
            }
            else
            {
                UpdateExport();
            }
        }

        protected void btnReloadPopup_Click(object sender, EventArgs e)
        {
        }

        protected void drVatTu_SelectedIndexChanged(object sender, EventArgs e)
        {
            drDVT.SelectedValue = drVatTu.SelectedValue;
        }

        protected void drChiNhanh_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (drChiNhanh.SelectedIndex == 0)
            {
                drKho.Enabled = false;
                drKho.Items.Clear();
            }
            else
            {
                drKho.Enabled = true;
                var clsKho = new Warehouse_BLL();
                var dtKho = clsKho.GetWarehouseBranch(int.Parse(drChiNhanh.SelectedValue));
                if (dtKho != null && dtKho.Rows.Count > 0)
                {
                    drKho.Items.Clear();
                    drKho.Items.Add(new ListItem("-Vui lòng chọn kho-", "-1"));
                    drKho.DataSource = dtKho;
                    drKho.DataValueField = "Warehouse_Id";
                    drKho.DataTextField = "Warehouse_Name";
                    drKho.DataBind();
                }
                else
                {
                    drKho.Enabled = false;
                    drKho.Items.Clear();
                    if (Page.Master != null)
                        ((Label)Page.Master.FindControl("lbThongBao")).Text = "Chi nhánh này không có kho vui lòng chọn chi nhánh khác !";
                    OpenDialog("#thongbao");
                    if (Page.Master != null) ((UpdatePanel)Page.Master.FindControl("updatePanelThongBao")).Update();
                }
            }
        }

        protected void drKho_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (drKho.SelectedIndex == 0)
            {
                drPhongChua.Enabled = false;
            }
            else
            {
                drPhongChua.Enabled = true;
                var clsPhongChua = new Room_BLL();
                var dtPhongChua = clsPhongChua.GetRoomWareHouse(int.Parse(drKho.SelectedValue));
                if (dtPhongChua != null && dtPhongChua.Rows.Count > 0)
                {
                    drPhongChua.Items.Clear();
                    drPhongChua.Items.Add(new ListItem("-Vui lòng chọn phòng chứa-", "-1"));
                    drPhongChua.DataSource = dtPhongChua;
                    drPhongChua.DataValueField = "Room_Id";
                    drPhongChua.DataTextField = "Room_Name";
                    drPhongChua.DataBind();
                }
                else
                {
                    drPhongChua.Enabled = false;
                    if (Page.Master != null) ((Label)Page.Master.FindControl("lbThongBao")).Text = "Kho này không có phòng chứa vui lòng chọn kho khác !";
                    OpenDialog("#thongbao");
                    if (Page.Master != null) ((UpdatePanel)Page.Master.FindControl("updatePanelThongBao")).Update();
                }
            }
        }
        protected void InsertExport()
        {
            try
            {
                var obj = new Export_ET
                {
                    Export_Invoice = txtChungTu.Text,
                    Export_Date = DateTime.Parse(txtNgay.Text),
                    Export_Customer = txtKhachHang.Text,
                    Materials_ID = int.Parse(drVatTu.SelectedValue),
                    Export_Quantity = int.Parse(txtSoLuong.Text),
                    Export_Price = float.Parse(txtDonGia.Text),
                    Export_TotalCash = (float.Parse(txtSoLuong.Text) * float.Parse(txtDonGia.Text)),
                    Room_ID = int.Parse(drPhongChua.SelectedValue)
                };
                Export_BLL.Inserttb_Export(obj);
                ClearTextBox();
                if (Page.Master != null)
                    ((Label)Page.Master.FindControl("lbThongBao")).Text = "Thêm mới thành công xuất vật tư !";
            }
            catch (Exception ex)
            {
                if (Page.Master != null) ((Label)Page.Master.FindControl("lbThongBao")).Text = ex.ToString();
            }
            finally
            {
                txtChungTu.Enabled = true;
                OpenDialog("#thongbao");
                if (Page.Master != null) ((UpdatePanel)Page.Master.FindControl("updatePanelThongBao")).Update();
            }
        }
        protected void UpdateExport()
        {
            try
            {
                var obj = new Export_ET
                {
                    Export_ID = int.Parse(lbID.Value),
                    Export_Invoice = txtChungTu.Text,
                    Export_Date = DateTime.Parse(txtNgay.Text),
                    Export_Customer = txtKhachHang.Text,
                    Materials_ID = int.Parse(drVatTu.SelectedValue),
                    Export_Quantity = int.Parse(txtSoLuong.Text),
                    Export_Price = float.Parse(txtDonGia.Text),
                    Export_TotalCash = (float.Parse(txtSoLuong.Text) * float.Parse(txtDonGia.Text)),
                    Room_ID = int.Parse(drPhongChua.SelectedValue)
                };
                Export_BLL.Updatetb_Export(obj);
                if (Page.Master != null)
                    ((Label)Page.Master.FindControl("lbThongBao")).Text = "Sữa thành công xuất vật tư !";
            }
            catch (Exception ex)
            {
                if (Page.Master != null) ((Label)Page.Master.FindControl("lbThongBao")).Text = ex.ToString();
            }
            finally
            {
                txtChungTu.Enabled = false;
                OpenDialog("#thongbao");
                if (Page.Master != null) ((UpdatePanel)Page.Master.FindControl("updatePanelThongBao")).Update();
            }
        }
        protected void BindGridDrop()
        {
            var clsVatTu = new Materials_BLL();
            var dtVatTu = clsVatTu.GetMaterials();
            if (dtVatTu != null && dtVatTu.Rows.Count > 0)
            {
                drVatTu.Items.Clear();
                drVatTu.Items.Add(new ListItem("-Vui lòng chọn vật tư-", "-1"));
                drVatTu.DataSource = dtVatTu;
                drVatTu.DataValueField = "Materials_Id";
                drVatTu.DataTextField = "Materials_Name";
                drVatTu.DataBind();

                drDVT.Items.Clear();
                drDVT.Items.Add(new ListItem("-Vui lòng chọn vật tư-", "-1"));
                drDVT.DataSource = dtVatTu;
                drDVT.DataValueField = "Materials_Id";
                drDVT.DataTextField = "Unit_Name";
                drDVT.DataBind();
            }

            var clsChiNhanh = new Branch_BLL();
            var dtChiNhanh = clsChiNhanh.GetBranch();
            if (dtChiNhanh != null && dtChiNhanh.Rows.Count > 0)
            {
                drChiNhanh.Items.Clear();
                drChiNhanh.Items.Add(new ListItem("-Vui lòng chọn chi nhánh-", "-1"));
                drChiNhanh.DataSource = dtChiNhanh;
                drChiNhanh.DataValueField = "STT";
                drChiNhanh.DataTextField = "TENCHINHANH";
                drChiNhanh.DataBind();
            }

            var clsPhongChua = new Room_BLL();
            var dtPhongChua = clsPhongChua.GetRoom();
            if (dtPhongChua != null && dtPhongChua.Rows.Count > 0)
            {
                drPhongChua.Items.Clear();
                drPhongChua.Items.Add(new ListItem("-Vui lòng chọn phòng chứa-", "-1"));
                drPhongChua.DataSource = dtPhongChua;
                drPhongChua.DataValueField = "Room_Id";
                drPhongChua.DataTextField = "Room_Name";
                drPhongChua.DataBind();
            }
        }
        #region[OpenDialog]
        private void OpenDialog(string dialogId)
        {
            var sb = new StringBuilder();
            sb.Append("$('" + dialogId + "').dialog('open');");
            ScriptManager.RegisterStartupScript(Page, Page.GetType(),
                "scriptKey", sb.ToString(), true);
        }
        #endregion
        #region[ClearTextbox]
        protected void ClearTextBox()
        {
            txtChungTu.Text = string.Empty;
            txtNgay.Text = string.Empty;
            txtKhachHang.Text = string.Empty;
            drVatTu.SelectedIndex = 0;
            drDVT.SelectedIndex = 0;
            txtSoLuong.Text = string.Empty;
            txtDonGia.Text = string.Empty;
            drChiNhanh.SelectedIndex = 0;
            drKho.Items.Clear();
            drPhongChua.Items.Clear();
            txtGhiChu.Text = string.Empty;
        }
        #endregion
    }
}